Déclencheurs
Commandes
Checkpoints
Menus
JSON
S’abonner à des évènements
Il existe dans Nova-Life: Amboise des actions déclenchées automatiquement par le serveur. Il est possible de s’abonner à ces actions pour appeler une fonction personnalisée lorsque l’action est déclenchée.
Pour se faire, il vous suffit de trouver l’action correspondante et de l’analyser. Elle peut se présenter sous la forme d’une action simple sans paramètres :
public Action OnMinutePassedEvent;
Ou d’une action plus complexe avec des paramètres :
public Action<Player, int, int, int> OnPlayerReceiveItemEvent;
Action sans paramètres
Dans le cas de l’action simple, aucun paramètre n’est à prendre en compte. Il vous suffit donc de créer une fonction sans paramètres :
public void CustomOnMinutePassed()
{
// Le code que vous souhaitez déclenchez
}
Puis de l’abonner à l’évènement :
Nova.server.OnMinutePassedEvent += CustomOnMinutePassed;
Grâce à ceci, votre fonction CustomOnMinutePassed
sera automatiquement appelée en même temps que l’action.
Action avec paramètres
Pour une action avec paramètres, la première chose à faire est de comprendre à quoi sert chacun d’entre eux. Reprenons notre action déclenchée à la réception d’un item.
public Action<Player, int, int, int> OnPlayerReceiveItemEvent;
Nous pouvons voir sur la documentation que nous avons 4 paramètres: 1 de type Player
et 4 de type int
ainsi que leur correspondance :
Type de paramètre | Correspondance |
---|---|
Player | Le joueur qui réceptionne l’item |
int | L’identifiant de l’item |
int | L’identifiant de l’emplacement de l’inventaire |
int | Le nombre d’items |
Maintenant que nous savons à quoi correspond chaque paramètre, nous allons pouvoir créer notre méthode et y intégrer notre code :
public void CustomOnPlayerReceiveItem(Player player, int itemId, int slotId, int number)
{
// Le code que vous souhaitez déclenchez
}
Maintenant que notre méthode est créée avec les paramètres correspondants à l’action à laquelle nous souhaitons l’abonner, il ne nous reste plus qu’à les lier :
Nova.server.OnPlayerReceiveItemEvent += CustomOnPlayerReceiveItem;
Grâce à ceci, votre méthode CustomOnPlayerReceiveItem
sera déclenchée dès qu’un joueur recevra un objet dans son inventaire.
Désabonner une méthode
Pour désabonner une méthode, rien de plus simple. Il suffit simplement de retirer le lien entre les deux :
Nova.server.OnPlayerReceiveItemEvent -= CustomOnPlayerReceiveItem;
Votre méthode ne sera désormais plus déclenchée en même temps que l’action.